package 剑指Offer._6170;

/**
 * @author yzh
 * @version 1.0
 * @date 2021/11/24 12:05
 * 股票的最大利润
 * 假设把某股票的价格按照时间先后顺序存储在数组中，请问买卖该股票一次可能获得的最大利润是多少？
 * 算法：贪心
 * 保存遍历数组的最小元素，然后当前元素减去最小的，取最大值
 */
public class _63 {

    public int maxProfit(int[] prices) {
        if (prices.length == 0) return 0;
        int min = prices[0], ans = 0;
        for (int i = 1; i < prices.length; i++) {
            ans = Math.max(ans, prices[i] - min);
            min = Math.min(min, prices[i]);
        }
        return ans;
    }

}
